///*
// *  Copyright 2020-2021 Li Fei
// *
// *  Licensed under the Apache License, Version 2.0 (the "License");
// *  you may not use this file except in compliance with the License.
// *  You may obtain a copy of the License at
// *
// *  http://www.apache.org/licenses/LICENSE-2.0
// *
// *  Unless required by applicable law or agreed to in writing, software
// *  distributed under the License is distributed on an "AS IS" BASIS,
// *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// *  See the License for the specific language governing permissions and
// *  limitations under the License.
// */
//package com.pengshun.modules.security.rest;
//
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import lombok.RequiredArgsConstructor;
//import com.pengshun.annotation.Log;
//import com.pengshun.modules.security.service.OnlineUserService;
//import com.pengshun.utils.EncryptUtils;
//import org.springframework.data.domain.Pageable;
//import org.springframework.http.HttpStatus;
//import org.springframework.http.ResponseEntity;
//import org.springframework.security.access.prepost.PreAuthorize;
//import org.springframework.web.bind.annotation.*;
//import javax.servlet.http.HttpServletResponse;
//import java.io.IOException;
//import java.util.Set;
//
///**
// * @author Li Fei
// */
//@RestController
//@RequiredArgsConstructor
//@RequestMapping("/auth/online")
//@Api(tags = "系统：在线用户管理")
//public class OnlineController {
//
//    private final OnlineUserService onlineUserService;
//
//    @ApiOperation("查询在线用户")
//    @GetMapping
//    @PreAuthorize("@el.check()")
//    public ResponseEntity<Object> query(String filter, Pageable pageable){
//        return new ResponseEntity<>(onlineUserService.getAll(filter, pageable),HttpStatus.OK);
//    }
//
//    @Log("导出数据")
//    @ApiOperation("导出数据")
//    @GetMapping(value = "/download")
//    @PreAuthorize("@el.check()")
//    public void download(HttpServletResponse response, String filter) throws IOException {
//        onlineUserService.download(onlineUserService.getAll(filter), response);
//    }
//
//    @ApiOperation("踢出用户")
//    @DeleteMapping
//    @PreAuthorize("@el.check()")
//    public ResponseEntity<Object> delete(@RequestBody Set<String> keys) throws Exception {
//        for (String key : keys) {
//            // 解密Key
//            key = EncryptUtils.desDecrypt(key);
//            onlineUserService.kickOut(key);
//        }
//        return new ResponseEntity<>(HttpStatus.OK);
//    }
//}
